package com.payment.system.mapper;

import com.payment.common.annotation.DataSource;
import com.payment.common.enums.DataSourceType;
import com.payment.system.domain.CardType;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 卡类型 数据层
 * 
 * @author payment
 * @date 2018-12-27
 */
public interface CardTypeMapper 
{
	/**
     * 查询卡类型信息
     * 
     * @param iD 卡类型ID
     * @return 卡类型信息
     */
	@DataSource(DataSourceType.SLAVE)
	public CardType selectCardTypeById(String iD);
	/**
     * 查询是不是信用卡
     * 
     * @param iD 卡类型ID
     * @return 卡类型信息
     */
	@DataSource(DataSourceType.SLAVE)
	public CardType selectCardTypeByTypeId(@Param("iD") String iD, @Param("type") Integer type);
	
	/**
     * 查询卡类型列表
     * 
     * @param cardType 卡类型信息
     * @return 卡类型集合
     */
	@DataSource(DataSourceType.SLAVE)
	public List<CardType> selectCardTypeList(CardType cardType);
	
	/**
     * 新增卡类型
     * 
     * @param cardType 卡类型信息
     * @return 结果
     */
	public int insertCardType(CardType cardType);
	
	/**
     * 修改卡类型
     * 
     * @param cardType 卡类型信息
     * @return 结果
     */
	public int updateCardType(CardType cardType);
	
	/**
     * 删除卡类型
     * 
     * @param iD 卡类型ID
     * @return 结果
     */
	public int deleteCardTypeById(String iD);
	
	/**
     * 批量删除卡类型
     * 
     * @param iDs 需要删除的数据ID
     * @return 结果
     */
	public int deleteCardTypeByIds(String[] iDs);
	/**
	 *查询全部的卡类型
	 * @return 结果
	 */
	@DataSource(DataSourceType.SLAVE)
	List<CardType> selectCardTypeAll();
}